package ar.edu.unicen.twitter.suggest.backend.recommendation.crawling;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */



import ar.edu.unicen.twitter.suggest.backend.recommendation.CriterioUsuario.CriterioUsuario;
import ar.edu.unicen.twitter.suggest.commons.dtos.Usuario;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 *
 * @author Felicitas
 */
public class DescartadorUsuarios {
    private CriterioUsuario criterio;
    private int descMinimo;
    
    public DescartadorUsuarios(CriterioUsuario criterio, int descMinimo)
    {   this.criterio=criterio;
    }
    public Collection<Usuario> descartar(Collection<Usuario> usuarios){
        ArrayList<Usuario> result = new ArrayList<Usuario>();
      //  System.out.println("<Descartando>");
        criterio.reset();
        boolean valido = false;                      //puede terminar
        while(!valido){
            valido= true;                           //si no elimina a ninguno
            for(Iterator<Usuario> usIt = usuarios.iterator();usIt.hasNext();)
            {   
                
                Usuario actual = usIt.next();
                if(criterio.cumple(actual))
                {   result.add(actual);
                    usIt.remove();
                    valido= false;
             //       System.out.println("(-) "+actual);
                }
//                else
//                 System.out.println("(+) "+actual);
            }
            if(!valido && result.size()>=descMinimo)
                valido = true;
        }
        //System.out.println("</Descartando>");
        
        return result;
    }
    
}
